(function () {
	var input = document.getElementById("images"), 
		formdata = false;

	function showUploadedItem (source) {
	    var $div 	= document.getElementById('div_preview');
		var $img  	= document.createElement("img");
 		
 		var $nombre = document.getElementById('id_img').value;
		if (!$nombre){
			var numi 	= document.getElementById('cantidad_elem');
			var num 	= numi.value +1;
			numi.value 	= num;
			$nombre 	= 'elem_'+num;
		}
		$img.setAttribute('id',$nombre);
		document.getElementById('id_img').value = null;
		
		var $clase = document.getElementById('clase_img').value;
		if ($clase){
			$img.setAttribute('class',$clase);
			document.getElementById('clase_img').value = null;
		}
 		
 		var $btn = document.createElement('button');
		var $txt = document.createTextNode('X');
    	$btn.appendChild($txt);
    	$btn.setAttribute('id', 'btn_'+$nombre);
    	$btn.setAttribute('name', 'btn_'+$nombre);
    	$btn.setAttribute('onclick','removeElement("'+$nombre+'"); removeElement("btn_' + $nombre +'")');
		$div.appendChild($btn);

  		$img.src = source;		
		$div.appendChild($img);
		return [$nombre, $clase];
	}   

	if (window.FormData) {
  		formdata = new FormData();
  		//document.getElementById("btn_img").style.display = "none";
	}
	
 	input.addEventListener("change", function (evt) {
 		var i = 0, len = this.files.length, img, reader, file;
	
		for ( ; i < len; i++ ) {
			file = this.files[i];

			if (!!file.type.match(/image.*/)) {
				if ( window.FileReader ) {
					reader = new FileReader();
					reader.onloadend = function (e) { 
						$datos = showUploadedItem(e.target.result, file.fileName);
						// LLAMADA A PHP POR AJAX
						$.post("agregar_elementos.php",{
							tipo: 'img',
							nombre: $datos[0],
							clase: $datos[1],
							txt: null,
							url: file.name
						});
					};
					reader.readAsDataURL(file);
				}
				if (formdata) {
					formdata.append("images[]", file);
				}
			}	
		}
		
		if (formdata) {
			$.ajax({
				url: "php/subir_imagen.php",
				type: "POST",
				data: formdata,
				processData: false,
				contentType: false
			});
		}
		
	}, false);
}());
